#include<bitset>
#include<iostream>
using namespace std;
// 已知
string a[114514];
int n;
bitset<114514>f[114514];
int ans;
int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
        for (int j = 0; j < n; j++)
        {
            if (a[i][j] == '1') f[i][j] = 1; // 1代表能到
        }
        f[i][i] = 1; // 自己能到自己
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            // 如果从i能到j，那么f[i]代表的是i号点能去的所有点
            // 由于他能去j号点，所以要把j号点能去的也加进来
            if (a[i][j] == '1') f[i] |= f[j];
        }
    }
    for (int i = 0; i < n; i++)
    {
        ans += f[i].count();
    }
    cout << ans;
    return 0;

}